草庐IT

Web 测试

全部标签

javascript - 单元测试有状态 RequireJS 模块的模式

假设我有一个RequireJS模块,并且我的应用程序中只有一个实例(假设它执行异步操作并向其传递了回调)://modules/myModuledefine(function(){varmodule=function(){varself=this;self.runSomething(){console.log("helloworld");};};returnnewmodule();});我想对这个模块的一个实例进行单元测试,我发现自己是这样构建模块的://modules/myModuledefine(function(){returnfunction(){varself=this;sel

javascript - Twitter Web Intent 回调在 IE 中不起作用

我一直在尝试让回调在用户完成一条推文后起作用。除InternetExplorer(11、10、9或8)外,所有浏览器都运行良好。IE在控制台中不显示任何内容,回调也不会触发。谁有解决办法?这是一个简单的例子来说明问题(jsfiddle):Testingtwttr.ready(function(twttr){twttr.events.bind('tweet',function(event){alert('twitterclick');});}); 最佳答案 这是由于在IE中的窗口之间发送数据时postMessage功能损坏所致。自IE

javascript - 对页面或其 Controller 进行基准测试

我最近继承了一些AngularJS代码(我无法发布代码),并注意到初始加载有很大的延迟。这是完全不能接受的,我需要优化它。使用Chrome的时间轴,我注意到有很多脚本不是特别有意义。我尝试使用Batarang,但即使是最长的表达式也只是一个日期函数,与其他所有内容相比可以忽略不计。我有一种感觉,它是Controller,因为它的脂肪和意大利面条令人难以置信,我需要以某种方式对该Controller进行基准测试,或者至少在我开始重构之前弄清楚瓶颈是什么。 最佳答案 我最后所做的只是做出promise并减去unix时间的差异,以了解需要

javascript - 使用 Facebook ://To Share a Post through the Facebook App with Web Interface

我的一个网站有一个我编写的自定义共享插件,如果可能的话,我想尝试在本地Facebook应用程序中打开“共享”功能。我知道您可以使用fb://打开应用程序,但根据我的阅读,这是FBML的一部分,已被弃用多年。我最理想的是让链接打开FB应用程序,并在共享框中预先填充一个链接,然后用户可以自动共享该链接。基本上是sharer.php脚本的功能(如果它从OG标签中提取数据就没问题)。我知道它可以在iOS应用程序(可能还有Android)中完成,但是否可以通过网络界面完成?我使用的链接仅通过一些Javascript在移动设备上显示,因此我不必担心它会在整个网站范围内造成任何问题。感谢您的帮助!

javascript - 如果测试有错误,Karma 不会失败

当由于错误(如语法错误)导致Karma无法运行测试时,Karma会发出这样的警告:INFO[karma]:Karmav0.12.31serverstartedathttp://localhost:9876/INFO[launcher]:StartingbrowserPhantomJSINFO[PhantomJS1.9.8(Linux)]:ConnectedonsocketWT-AsaXZq4odkQe2DgZJwithid10861626WARN[web-server]:404:/undefinedhttp%3A%2F%2Flocalhost%3A9876%2Fbase%2Ftests

javascript - 测试手动引导的 Angularjs 应用程序

在一些httpajax请求后在代码中手动引导应用程序时,我在测试angularjs应用程序(karma、jasmine)时遇到问题。angular.module("app",[]);angular.element(document).ready(function(){angular.bootstrap(document,["app"]);});我的jasmine规范中也有以下代码beforeEach(module('app'));当我运行我的规范时,我总是有同样的错误Error:[$injector:modulerr]FailedtoinstantiatemoduleappduetoE

javascript - 'console.log' 在测试 Electron 应用程序时在 Webstorm 中不起作用

在Webstorm(Windows7)的“正常”Node应用程序中,我可以使用console.log写入Webstorm的控制台窗口。一旦我使用Electron创建桌面应用程序,控制台输出就不再显示在Webstorm控制台窗口中,尽管我使用相同的Node命令“C:\ProgramFiles\nodejs\node.exe”。主要区别在于,在运行配置中,我必须使用Node参数'C:\Users\Username\AppData\Roaming\npm\node_modules\electron-prebuilt\cli.js'来获得正确的Electron入口点。当我直接从Windows控

javascript - 在单页 Web 应用程序中第二次初始化 Okta Signin Widget 会抛出异常

我们正在整合OktaSign-inWidget进入我们基于React的网络应用程序。Theexamplesnippet:varoktaSignIn=newOktaSignIn({baseUrl:baseUrl});oktaSignIn.renderEl(...)第一次呈现小部件时对我们来说工作正常,但在用户登录并再次注销后,webapp第二次呈现登录组件并尝试执行renderEl再次呈现小部件。这会导致抛出以下异常:Backbone.historyhasalreadybeenstarted我创建了thisjsfiddle来证明问题。它只是实例化一个登录小部件两次(等待后第二次)。可以看

javascript - 在 PhantomJS 中模拟时区以进行 Jasmine 测试

是否可以在Jasmine中模拟时区来测试日期对象?我有一个函数,它接受UTC时间字符串并将其转换为日期对象。使用“2016-01-16T07:29:59+0000”,我希望能够验证当我们处于太平洋标准时间时我们正在观察2016-01-1523:29:59作为本地日期/时间我希望能够将此时区切换回GMT,然后确保我们将2016-01-1607:29:59视为本地日期/时间(如何)这可能吗?(我正在使用phantomjs通过Grunt运行我的Jasmine规范)我的函数供引用:utcDateStringToDateObject:function(dateString){returndate

javascript - Web Worker 性能降低 20 倍

我似乎无法在任何地方找到明确的答案。我有一个非常简单的POC,可以以同步和异步方式计算相同的函数。worker.jsonmessage=function(e){vars=newDate().getTime();i=0;varavg=Math.random();while(i索引.htmlvarmw=newWorker("worker.js");mw.onmessage=function(e){console.log('Workersays:'+e.data);};functionav(j){vars=newDate().getTime();i=0;varavg=Math.random(